home *** CD-ROM | disk | FTP | other *** search
- // Copyright (C) 1995 Robert Todd Thomas
-
- // Most file functions (chmod, link, etc) return 0 for success and -1 for
- // error. If there was an error, you can ask the MiscFile for the errorCode
- // which will be one of MiscFileStatus (directly below).
- #define MISCFILE_ERROR -1
- #define MISCFILE_SUCCESS 0
-
-
- // Enums defined from <sys/errno.h>. Most of the ones related to files are here
- // I think (and some that probably don't).
- enum MiscFileStatus
- {
- MISCFILE_NOERROR, // no error (zero)
- MISCFILE_NOT_OWNER, // EPERM
- MISCFILE_NO_SUCH_FILE, // ENOENT
- MISCFILE_NO_SUCH_PROCESS, // ESRCH
- MISCFILE_INTERRUPTED_SYS_CALL, // EINTR
- MISCFILE_IO_ERROR, // EIO
- MISCFILE_NO_SUCH_DEVICE, // ENXIO
- MISCFILE_ARG_LIST_TOO_LONG, // E2BIG
- MISCFILE_EXEC_FORMAT_ERROR, // ENOEXEC
- MISCFILE_BAD_FILE_NUM, // EBADF
- MISCFILE_NO_CHILDREN, // ECHILD
- MISCFILE_NO_MORE_PROCESSES, // EAGAIN
- MISCFILE_NOT_ENOUGH_CORE, // ENOMEM
- MISCFILE_PERMISSION_DENIED, // EACCES
- MISCFILE_BAD_ADDRESS, // EFAULT
- MISCFILE_BLOCK_DEV_REQUIRED, // ENOTBLK
- MISCFILE_MOUNT_DEV_BUSY, // EBUSY
- MISCFILE_FILE_EXISTS, // EEXIST
- MISCFILE_CROSS_DEV_LINK, // EXDEV
- MISCFILE_NO_SUCH_DEV, // ENODEV
- MISCFILE_NOT_A_DIR, // ENOTDIR
- MISCFILE_IS_A_DIR, // EISDIR
- MISCFILE_INVALID_ARG, // EINVAL
- MISCFILE_FILE_TABLE_OVERFLOW, // ENFILE
- MISCFILE_TOO_MANY_OPEN_FILES, // EMFILE
- MISCFILE_NOT_A_TYPEWRITER, // ENOTTY
- MISCFILE_TEXT_FILE_BUSY, // ETXTBSY
- MISCFILE_FILE_TOO_LARGE, // EFBIG
- MISCFILE_NO_SPACE_ON_DEV, // ENOSPC
- MISCFILE_ILLEGAL_SEEK, // ESPIPE
- MISCFILE_READ_ONLY_FILESYS, // EROFS
- MISCFILE_TOO_MANY_LINKS, // EMLINK
- MISCFILE_BROKEN_PIPE, // EPIPE
- MISCFILE_ARG_TOO_LARGE, // EDOM
- MISCFILE_RESULT_TOO_LARGE, // ERANGE
- };
-
- // Defines used for setPermissions::, getPermissions::, addPermissions:: and
- // removePermissions::. The first three are also for the access: method.
- #define MISCFILE_READ 4
- #define MISCFILE_WRITE 2
- #define MISCFILE_EXECUTE 1
-
- #define MISCFILE_SETUID 8
- #define MISCFILE_SETGID 16
- #define MISCFILE_STICKY 32
-
- #define MISCFILE_OWNER 1
- #define MISCFILE_GROUP 2
- #define MISCFILE_OTHER 4
-
- // Used for access:
- #define MISCFILE_EXISTS 0
- //#define MISCFILE_NOACCESS 0
-
-
- // Used internally to keep track of which function was called last.
- // Since we are caching the resulting structure, we have to know what
- // data is in the structure (for symlinks it can be either lstat or stat info).
- #define MISCFILE_STAT 0
- #define MISCFILE_LSTAT 1
-
-